﻿namespace WebOptimizer.UI
{
	public partial class SystemContext : ISystemContext
	{
		#region Public Members

		#region EntityCache

		private System.Lazy<global::WebOptimizer.UI.Entities.Caching.EntityCache> _EntityCache = new System.Lazy<global::WebOptimizer.UI.Entities.Caching.EntityCache>(() => new global::WebOptimizer.UI.Entities.Caching.EntityCache());
		public global::WebOptimizer.UI.Entities.Caching.EntityCache EntityCache
		{
			get
			{
				return _EntityCache.Value;
			}
		}

		#endregion
		#region EntityFacade

		private System.Lazy<global::WebOptimizer.UI.Entities.Model.EntityFacade> _EntityFacade = new System.Lazy<global::WebOptimizer.UI.Entities.Model.EntityFacade>();
		public global::WebOptimizer.UI.Entities.Model.EntityFacade EntityFacade
		{
			get
			{
				return _EntityFacade.Value;
			}
		}

		#endregion

		#endregion
		#region Factory Members

		private static readonly System.Lazy<SystemContext> _Current = new System.Lazy<SystemContext>(() => new SystemContext());
		public static ISystemContext Current
		{
			get
			{
				return _Current.Value;
			}
		}

		#endregion
		#region Constructors

		private SystemContext()
		{
		}

		#endregion
	}
}